package com.bsiprosoft.ejerciciosandoidproject;

import android.app.Activity;
import android.content.Context;
import android.hardware.Sensor;
import android.hardware.SensorEvent;
import android.hardware.SensorEventListener;
import android.hardware.SensorManager;
import android.os.Bundle;
import android.util.Log;
import android.widget.TextView;

/**
 * Created by pbastidas on 12/18/13.
 */
public class EjemploAcelerometro extends Activity implements SensorEventListener {

    private TextView textView;

    public EjemploAcelerometro() {
    }

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        textView = new TextView(this);

        setContentView(textView);

        // Se solicita el managerservice del sensor
        SensorManager manager = (SensorManager) getSystemService(Context.SENSOR_SERVICE);

        if (manager.getSensorList(Sensor.TYPE_ACCELEROMETER).isEmpty()) {
            textView.setText("No tiene acelerómetro instalado");
        } else {
            // Se registra el acelerómetro
            Sensor acelerometro = manager.getSensorList(Sensor.TYPE_ACCELEROMETER).get(0);

            if (!manager.registerListener(this, acelerometro, SensorManager.SENSOR_DELAY_GAME)) {
                textView.setText("No se logro registrar el listener del acelerómetro");
            }
        }
    }

    @Override
    public void onSensorChanged(SensorEvent sensorEvent) {
        synchronized (this) {
            float posX = sensorEvent.values[0];
            float posY = sensorEvent.values[1];
            float posZ = sensorEvent.values[2];

            StringBuilder s = new StringBuilder();

            s.append("x:");
            s.append(posX);
            s.append("; y:");
            s.append(posY);
            s.append("; z:");
            s.append(posZ);

            textView.setText(s.toString());

            Log.d("EjemploAcelerometro", s.toString());
        }
    }

    @Override
    public void onAccuracyChanged(Sensor sensor, int i) {
        // .i.
    }
}
